package evemanutool.gui.corp;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import evemanutool.constants.DBConstants;
import evemanutool.data.display.ManuAcquisition;
import evemanutool.data.display.MarketAcquisition;
import evemanutool.data.display.Supply;
import evemanutool.gui.corp.components.ManuAcquisitionsModel;
import evemanutool.gui.corp.components.MarketAcquisitionsModel;
import evemanutool.gui.corp.components.SupplyModel;
import evemanutool.gui.general.tabel.ScrollableTablePanel;
import evemanutool.utils.databases.CorpApiDB;
import evemanutool.utils.datahandling.GUIUpdater;
@SuppressWarnings("serial")
public class SupplyPanel extends JPanel implements GUIUpdater, SwingConstants, DBConstants{
//DB:s.
private CorpApiDB cdb;
//GUI Components.
private ScrollableTablePanel<Supply> supplyPanel;
private ScrollableTablePanel<MarketAcquisition> marketPanel;
private ScrollableTablePanel<ManuAcquisition> manuPanel;
public SupplyPanel(CorpApiDB cdb) {
this.cdb = cdb;
//Set layout
setLayout(new GridLayout(1, 2));
//Setup table.
supplyPanel = new ScrollableTablePanel<>(new SupplyModel());
supplyPanel.setBorder(BorderFactory.createTitledBorder("Supply List"));
//Setup internal panels.
JPanel aquirePanel = new JPanel(new GridLayout(2, 1));
marketPanel = new ScrollableTablePanel<>(new MarketAcquisitionsModel());
marketPanel.setBorder(BorderFactory.createTitledBorder("To Buy"));
manuPanel = new ScrollableTablePanel<>(new ManuAcquisitionsModel());
manuPanel.setBorder(BorderFactory.createTitledBorder("To Manufacture"));
aquirePanel.add(marketPanel);
aquirePanel.add(manuPanel);
add(supplyPanel);
add(aquirePanel);
}
@Override
public void updateGUI() {
//CorpAPIDB has new data, update and reload.
supplyPanel.setData(cdb.getSupplies());
marketPanel.setData(cdb.getMarketAcquisitions());
manuPanel.setData(cdb.getManuAcquisitions());
}
}